﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using BLL;

namespace WebService_RentaCar
{
    /// <summary>
    /// Descripción breve de WebServiceAlquileres
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
    // [System.Web.Script.Services.ScriptService]
    public class WebServiceAlquileres : System.Web.Services.WebService
    {

        [WebMethod]
        public DataSet devolverAlquileres()
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            return objgetValuesWS.listaAlquileres();
        }

        [WebMethod]
        public string insertarAlquileres(int codigoCliente, DateTime fechaObtencion, DateTime fechaEntrega,
                decimal totalCancelar, decimal subTotal, decimal impuesto, DataTable alquiler)
        {

            getValuesWS objgetValuesWS = new getValuesWS();

            objgetValuesWS.codigoCliente = codigoCliente;
            objgetValuesWS.fechaObtencion = fechaObtencion;
            objgetValuesWS.fechaEntrega = fechaEntrega;
            objgetValuesWS.totalCancelar = totalCancelar;
            objgetValuesWS.subTotal = subTotal;
            objgetValuesWS.impuesto = impuesto;
            objgetValuesWS.alquiler = alquiler;

            return objgetValuesWS.ingresaAlquileres();
        }


        [WebMethod]
        public DataSet devolverListaAutosDisponibles()
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            return objgetValuesWS.listaAutosDisponibles();
        }
        private class getValuesWS
        {
            #region Propiedades


            public int numeroAlquiler { get; set; }
            public int codigoCliente { get; set; }
            public DateTime fechaObtencion { get; set; }
            public DateTime fechaEntrega { get; set; }
            public decimal totalCancelar { get; set; }
            public decimal subTotal { get; set; }
            public decimal impuesto { get; set; }
            
            public DataTable alquiler { get; set; }
            #endregion

            public DataSet listaAlquileres()
            {
               
                    AlquileresC objAlquileres = new AlquileresC();
                    return objAlquileres.cargaAlquileres();   

            }

            public string ingresaAlquileres()
            {
                try
                {
                    AlquileresC objAlquileres = new AlquileresC();


                    objAlquileres.codigoCliente = codigoCliente;
                    objAlquileres.fechaObtencion=fechaObtencion;
                    objAlquileres.fechaEntrega=fechaEntrega;
                    objAlquileres.totalCancelar = totalCancelar;
                    objAlquileres.subTotal = subTotal;
                    objAlquileres.impuesto = impuesto;
                    objAlquileres.Alquiler = alquiler;


                    return  objAlquileres.insertarAlquileres();

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public DataSet listaAutosDisponibles()
            {

                AlquileresC objAlquileres = new AlquileresC();
                return objAlquileres.cargaAutostotalCaracteristicas();

            }

        }
    }
}
